package ee.maoinvest.backend.model.dao;

import java.sql.Date;
import java.util.List;

import ee.maoinvest.backend.model.data.TempRelationBetweenChildAndParentElectricityMeter;

public interface TempRelationBetweenChildAndParentElectricityMeterDAO 
{
	//basic CRUD
	public int insertTempRelationBetweenChildAndParentElectricityMeter(
			TempRelationBetweenChildAndParentElectricityMeter tempRelationBetweenChildAndParentElectricityMeter);
	public TempRelationBetweenChildAndParentElectricityMeter getTempRelationBetweenChildAndParentElectricityMeterByID(
			int tempRelationBetweenChildAndParentElectricityMeterID);
	public List<TempRelationBetweenChildAndParentElectricityMeter> getAllTempRelationsBetweenChildAndParentElectricityMeters();
	public int updateTempRelationBetweenChildAndParentElectricityMeter(
			TempRelationBetweenChildAndParentElectricityMeter updatedTempRelationBetweenChildAndParentElectricityMeter);
	public int deleteTempRelationBetweenChildAndParentElectricityMeter(
			int tempRelationBetweenChildAndParentElectricityMeterID);
	
	
	public TempRelationBetweenChildAndParentElectricityMeter getTempRelationBetweenChildAndParentElectricityMeterObjectByChildAndParentMeterIDAndDateRelationEndedIsNull(
			int childElectricityMeterID, int parentElectricityMeterID);
	public List<TempRelationBetweenChildAndParentElectricityMeter> getListOfAllTempRelationBetweenSpecificParentAndItsChildMetersThatExistedBetweenDatesGivenRegularReadingsTookPlace(
			Date minDateRegularReadingWasTaken, Date maxDateRegularReadingWasTaken, int specificParentElectricityMeterID);
}
